First i Last û funkcje - przyk│ad

W tym przyk│adzie zwracane s╣ warto£ci pola Nazwisko z pierwszego i ostatniego rekordu pobranego z tabeli Pracownicy.

W tym przyk│adzie wywo│ywana jest procedura WyliczPola, kt≤r╣ mo┐na znaleƒµ w przyk│adzie dotycz╣cym instrukcji SELECT.

Sub FirstLastX1()

    Dim dbs As Database, rst As Recordset

    ' Zmodyfikuj ten wiersz tak, by £cie┐ka wskazywa│a

    ' na rzeczywist╣ bazΩ danych Northwind.

    Set dbs = OpenDatabase("Northwind.mdb")

    

    ' Zwr≤µ warto£µ pola Nazwisko z pierwszego

    ' i ostatniego rekordu pobranego z tabeli.

    Set rst = dbs.OpenRecordset("SELECT " _

        & "First(Nazwisko) as Pierwszy, " _

        & "Last(Nazwisko) as Ostatni FROM Pracownicy;")

    

    ' Zape│nij obiekt Recordset.

    rst.MoveLast

    

    ' Wywo│aj procedurΩ WyliczPola w celu

    ' wydrukowania zawarto£ci obiektu Recordset. Przeka┐ obiekt

    ' Recordset i wymagan╣ szeroko£µ pola.

    WyliczPola rst, 12

    dbs.Close

End Sub

W nastΩpnym przyk│adzie por≤wnywane jest u┐ycie funkcji First i Last oraz funkcji Min i Max do znalezienia w tabeli Pracownicy najwcze£niejszej i najp≤ƒniejszej daty urodzin.

Sub FirstLastX2()

    Dim dbs As Database, rst As Recordset

    ' Zmodyfikuj ten wiersz tak, by £cie┐ka wskazywa│a

    ' na rzeczywist╣ bazΩ danych Northwind.

    Set dbs = OpenDatabase("Northwind.mdb")

    

    ' W tabeli Pracownicy znajdƒ najwcze£niejsz╣

    ' i najp≤ƒniejsz╣ datΩ urodzenia.

    Set rst = dbs.OpenRecordset("SELECT " _

        & "First(DataUrodzenia) as PierwszaDU, " _

        & "Last(DataUrodzenia) as OstatniaDU " _

        & "FROM Pracownicy;")

    

    ' Zape│nij obiekt Recordset.

    rst.MoveLast

    

    ' Wywo│aj procedurΩ WyliczPola w celu

    ' wydrukowania zawarto£ci obiektu Recordset. Przeka┐ obiekt

    ' Recordset i wymagan╣ szeroko£µ pola.

    WyliczPola rst, 12

    

    Debug.Print

    ' W tabeli Pracownicy znajdƒ najwcze£niejsz╣

    ' i najp≤ƒniejsz╣ datΩ urodzenia.

    Set rst = dbs.OpenRecordset("SELECT " _
        & "Min(DataUrodzenia) as MinDU," _

        & "Max(DataUrodzenia) as MaxDU " _

        & "FROM Pracownicy;")

    

    ' Zape│nij obiekt Recordset.

    rst.MoveLast

    

    ' Wywo│aj procedurΩ WyliczPola w celu

    ' wydrukowania zawarto£ci obiektu Recordset. Przeka┐ obiekt

    ' Recordset i wymagan╣ szeroko£µ pola.

    WyliczPola rst, 12

    dbs.Close

End Sub